<html>
<head><meta charset="utf-8"><title>those-who-would-sacrifice-completeness-for-performance · t-compiler/wg-nll · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/index.html">t-compiler/wg-nll</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html">those-who-would-sacrifice-completeness-for-performance</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="126365571"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126365571" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126365571">(May 10 2018 at 13:49)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> you saw <a href="https://github.com/rust-lang/rust/pull/50593" target="_blank" title="https://github.com/rust-lang/rust/pull/50593">https://github.com/rust-lang/rust/pull/50593</a> I suppose</p>



<a name="126366171"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126366171" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126366171">(May 10 2018 at 14:03)</a>:</h4>
<p>(just in case niko, today is a bank holiday in France)</p>



<a name="126366217"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126366217" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126366217">(May 10 2018 at 14:04)</a>:</h4>
<p>oh, right, forgot</p>



<a name="126406898"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126406898" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126406898">(May 11 2018 at 09:35)</a>:</h4>
<p>this is an amazing topic title. Though perhaps it works better the other way?</p>



<a name="126407019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126407019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126407019">(May 11 2018 at 09:39)</a>:</h4>
<p>(after all, non-performant systems don't get used? There's some pithy quote, not sure if its Butler Lampson or someone else, about how the problem with fault-tolerance as applied to bugs is that tolerated bugs don't get fixed...)</p>



<a name="126408633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126408633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126408633">(May 11 2018 at 10:33)</a>:</h4>
<p>ha, a fair point.</p>



<a name="126588796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126588796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126588796">(May 15 2018 at 12:17)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> you saw the <a href="https://perf.rust-lang.org/compare.html?start=e5f80f2a4f016bf724a1cfb580619d71c8fd39ec&amp;end=121e57e8284c60e07d3c886f6e5b8edf84b968c2&amp;stat=instructions%3Au" target="_blank" title="https://perf.rust-lang.org/compare.html?start=e5f80f2a4f016bf724a1cfb580619d71c8fd39ec&amp;end=121e57e8284c60e07d3c886f6e5b8edf84b968c2&amp;stat=instructions%3Au">perf results</a>?</p>



<a name="126588797"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126588797" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126588797">(May 15 2018 at 12:17)</a>:</h4>
<p>lookin' decent, though still room for improvement</p>



<a name="126588855"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126588855" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126588855">(May 15 2018 at 12:19)</a>:</h4>
<p>no i've been distracted</p>



<a name="126590270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590270">(May 15 2018 at 12:59)</a>:</h4>
<p>hmm so we saw at best a 60% improvement</p>



<a name="126590272"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590272" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590272">(May 15 2018 at 12:59)</a>:</h4>
<p>yeah, though I think we can get more</p>



<a name="126590274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590274">(May 15 2018 at 12:59)</a>:</h4>
<p>this was from your PR to remove the per-location computationm?</p>



<a name="126590278"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590278" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590278">(May 15 2018 at 12:59)</a>:</h4>
<p>I would have expected much more improvement</p>



<a name="126590279"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590279" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590279">(May 15 2018 at 12:59)</a>:</h4>
<p>hmm</p>



<a name="126590283"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590283" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590283">(May 15 2018 at 12:59)</a>:</h4>
<p>well, I didn't change the data structures or anything</p>



<a name="126590285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590285">(May 15 2018 at 12:59)</a>:</h4>
<p>it's still e.g. a bitset</p>



<a name="126590331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590331">(May 15 2018 at 13:00)</a>:</h4>
<p>I'm not sure but maybe SEME gives a win</p>



<a name="126590334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590334">(May 15 2018 at 13:00)</a>:</h4>
<p>not sure</p>



<a name="126590338"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590338" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590338">(May 15 2018 at 13:00)</a>:</h4>
<p>right, but the per-location stuff is the cause of quadratic blowup, right?</p>



<a name="126590343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590343">(May 15 2018 at 13:00)</a>:</h4>
<p>not really</p>



<a name="126590345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590345">(May 15 2018 at 13:00)</a>:</h4>
<p>I guess I'm over-estimating the effect from asymptotic inefficiency</p>



<a name="126590346"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590346" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590346">(May 15 2018 at 13:00)</a>:</h4>
<p>or at least there are many potential causes</p>



<a name="126590350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590350">(May 15 2018 at 13:00)</a>:</h4>
<p>I mean we still have O(n) regions and O(n) points per region</p>



<a name="126590351"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590351" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590351">(May 15 2018 at 13:00)</a>:</h4>
<p>so in some sense ther eis still a O(n^2)</p>



<a name="126590352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590352">(May 15 2018 at 13:00)</a>:</h4>
<p>or I guess I'm misunderstanding how many causes of blow up there are. :)</p>



<a name="126590357"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590357" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590357">(May 15 2018 at 13:01)</a>:</h4>
<p>I guess that is true</p>



<a name="126590365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance/near/126590365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/those-who-would-sacrifice-completeness-for-performance.html#126590365">(May 15 2018 at 13:01)</a>:</h4>
<p>okay</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>